<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a="http://richfaces.org/a4j" xmlns:a4j="http://richfaces.org/a4j"
	template="/layout/template_box.xhtml">

	<ui:define name="head">
			<a:loadScript src="/js/meioMask.js" />

		<script>
	    function mascarar(){
	      
            jQuery(".telefone").unmask().mask('9999-9999');            
            jQuery(".cep").unmask().mask('99.999-999');
            jQuery(".cpf").unmask().mask('999.999.999-99');
            jQuery(".currency").maskMoney({symbol:'R$ ', thousands:'', decimal:'.', symbolStay: false,precision:2});
            
           
            jQuery(".rich-calendar-input").unmask().mask('99/99/9999');
        }

		jQuery(function(){
            mascarar();
		});

		function isDayEnabled(day){	
		   var data = new Date(day.date);
		   var hoje= new Date();
		   hoje.setFullYear(hoje.getFullYear()-18);
		   return data &lt;= hoje;
			   		   
		}
		function getDisabledStyle(day){
		   if (!isDayEnabled(day)) return 'rich-calendar-boundary-dates disabledDay';
		}

		
    </script>

	</ui:define>

	<ui:define name="MenuInterno">
		<ui:include src="/layout/menu_aluno.xhtml" />
	</ui:define>

	<ui:define name="body">

		<h2 class="t_curso">
			<h:outputText value="Cadastro de Aluno" />
		</h2>

		<div id="tamanho_div">

			<a:outputPanel id="pnlForm" ajaxRendered="true">
				<a:form id="formAlunoHome" styleClass="form_confea">
					<s:validateAll>

						<ol>

							<li><s:div>
									<p class="tool_alerta">Os campos marcados com * são de
										preenchimento obrigatório.</p>
								</s:div></li>
							<li>
								<fieldset>
									<legend>
										<h:outputText value="Dados do Aluno" />
									</legend>
								</fieldset>
							</li>


							<li><s:decorate template="/layout/edit.xhtml" id="decoNome">
									<ui:define name="label">
							Nome
						</ui:define>
									<h:inputText id="nome" required="true"
										requiredMessage="O campo 'Nome' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.nome}" />

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml" id="decoFone">
									<ui:define name="label">
							Telefone
						</ui:define>
									<h:inputText id="fone" required="false"
										requiredMessage="O campo 'Telefone' é obrigatório"
										styleClass="campo_full telefone"
										value="#{alunoHome.instance.telefone}" />

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoCel">
									<ui:define name="label">
							Celular
						</ui:define>
									<h:inputText id="cel" required="false"
										requiredMessage="O campo 'Celular' é obrigatório"
										styleClass="campo_full telefone"
										value="#{alunoHome.instance.celular}" />

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml"
									id="decoNascimento">
									<ui:define name="label">
							Nascimento
						</ui:define>

									<rich:calendar id="nascimento" styleClass="campo_half data"
										value="#{alunoHome.instance.nascimento}"
										datePattern="dd/MM/yyyy" disabled="false" required="true"
										rendered="true"
										requiredMessage="O campo 'Nascimento' é obrigatório."
										enableManualInput="true"
										isDayEnabled="isDayEnabled" 
										dayStyleClass="getDisabledStyle"
										locale="pt"
										style="position: static;margin-left: 150px;">
										
									</rich:calendar>

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoEmail">
									<ui:define name="label">
							E-mail
						</ui:define>
									<h:inputText id="cel" required="false"
										requiredMessage="O campo 'E-mail' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.email}" />
								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoRG">
									<ui:define name="label">
							RG
						</ui:define>
									<h:inputText id="rg" required="false"
										requiredMessage="O campo 'RG' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.rg}" />

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoCpf">
									<ui:define name="label">
							CPF
						</ui:define>
									<h:inputText id="cpf" required="true"
										requiredMessage="O campo 'E-mail' é obrigatório"
										styleClass="campo_full cpf" value="#{alunoHome.instance.cpf}"
										converter="conversorCPF" />

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCidadeNascimento">
									<ui:define name="label">
							Cidade de nascimento
						</ui:define>
									<h:inputText id="cidadeNascimento" required="true"
										requiredMessage="O campo 'Cidade de Nascimento' é obrigatório"
										styleClass="campo_full"
										value="#{alunoHome.instance.cidadeNascimento}" />
								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoUf">
									<ui:define name="label">
							UF
						</ui:define>
									<h:selectOneMenu requiredMessage="O campo 'UF' é obrigatório."
										required="true" id="uf" styleClass="ComboHalf"
										value="#{alunoHome.instance.ufNaturalidade}">
										<s:selectItems value="#{factories.ufs}" var="uf" label="#{uf}"
											noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCertidao">
									<ui:define name="label">
							Certidão Nascimento ou Casamento
						</ui:define>
									<h:inputText id="certidao" required="false"
										requiredMessage="O campo 'Certidão' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.certidao}" />

								</s:decorate></li>
					
							<li><s:decorate template="/layout/edit.xhtml"
									id="decoEndereco">
									<ui:define name="label">
							Endereço
						</ui:define>
									<h:inputText id="endereco" required="true"
										requiredMessage="O campo 'Endereço' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.endereco}" />

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml"
									id="decoBairro">
									<ui:define name="label">
							Bairro
						</ui:define>
									<h:inputText id="bairro" required="true"
										requiredMessage="O campo 'Bairro' é obrigatório"
										styleClass="campo_full" value="#{alunoHome.instance.bairro}" />

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoCep">
									<ui:define name="label">
							CEP
						</ui:define>
									<h:inputText id="cep" required="false"
										requiredMessage="O campo 'CEP' é obrigatório"
										styleClass="campo_full cep" value="#{alunoHome.instance.cep}"
										converter="conversorCEP" />

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml"
									id="decoCidade">
									<ui:define name="label">
							Cidade
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Cidade' é obrigatório."
										required="true" id="cidade" styleClass="Combo"
										value="#{alunoHome.instance.cidade}">
										<s:selectItems value="#{factories.cidades}" var="cidade"
											label="#{cidade.nome}" noSelectionLabel="Selecione" />
										<s:convertEntity />
									</h:selectOneMenu>

								</s:decorate></li>

							<li class=""><s:decorate template="/layout/edit.xhtml"
									id="decoZona">
									<ui:define name="label">
							Zona de Atuação
						</ui:define>

									<h:selectOneRadio layout="pageDirection" id="zona" value="#{alunoHome.instance.zona}"
										required="true"
										requiredMessage="O campo 'Zona de Atuação' é obrigatório">
										<s:selectItems value="#{factories.zonaAtuacoes}" var="zona"
											label="#{zona.nome}" />
										<s:convertEnum />
									</h:selectOneRadio>

								</s:decorate></li>
								
							<li ><s:decorate template="/layout/edit.xhtml"
									id="decoReferencia">
									<ui:define name="label">
							Referências
						</ui:define>

									<h:inputTextarea id="referencia" value="#{alunoHome.instance.referencia}" />

								</s:decorate></li>


							<li class=""><s:decorate template="/layout/edit.xhtml"
									id="decoSexo">
									<ui:define name="label">
							Sexo
						</ui:define>

									<h:selectOneRadio id="sexo" value="#{alunoHome.instance.sexo}" layout="pageDirection"
										required="true" requiredMessage="O campo 'Sexo' é obrigatório">
										<s:selectItems value="#{factories.sexos}" var="sexo"
											label="#{sexo.nome}" />
										<s:convertEnum />
									</h:selectOneRadio>

								</s:decorate></li>


							<li><s:decorate template="/layout/edit.xhtml" id="decoCor">
									<ui:define name="label">
							Cor/Raça
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Cor/Raça' é obrigatório."
										required="true" id="cor" styleClass="Combo"
										value="#{alunoHome.instance.cor}">
										<s:selectItems value="#{factories.cores}" var="cor"
											label="#{cor.nome}" noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>

								</s:decorate></li>



							<li>
								<fieldset>
									<legend>
										<h:outputText value="Escolaridade" />
									</legend>
								</fieldset>
							</li>

							<li><s:div style="position:relative">
									<s:decorate template="/layout/edit.xhtml"
										id="decoFrequentouEscola">
										<ui:define name="label">
						                Já frequentou a escola
						              </ui:define>
										<s:div>


											<h:selectBooleanCheckbox immediate="true"
												requiredMessage="O campo 'Frequentou a escola' é obrigatório."
												required="false" id="frequentouEscola"
												value="#{alunoHome.instance.frequentouEscola}"
												styleClass="conhecimento" layout="pageDirection">
												<a4j:support event="onchange" ajaxSingle="true" limitToList="true" reRender="decoMeses" eventsQueue="default" />
											</h:selectBooleanCheckbox>
										</s:div>
									</s:decorate>

								</s:div></li>

							<li><s:decorate template="/layout/edit.xhtml" id="decoMeses">
									<ui:define name="label">
							Quantos meses
						</ui:define>
									<h:inputText id="meses" required="#{alunoHome.instance.frequentouEscola}"
										requiredMessage="O campo 'Quantos meses' é obrigatório"
										styleClass="campo_full"
										value="#{alunoHome.instance.tempoEscola}" />

								</s:decorate></li>


							<li><s:div style="position:relative">
									<s:decorate template="/layout/edit.xhtml" id="decoConsulta">
										<ui:define name="label">
						                Indicado consulta oftalmológica
						              </ui:define>
										<s:div>


											<h:selectBooleanCheckbox
												requiredMessage="O campo 'Indicado consulta oftalmológica' é obrigatório."
												required="false" id="consulta"
												value="#{alunoHome.instance.consultaOftalmologica}"
												styleClass="conhecimento" layout="pageDirection">

											</h:selectBooleanCheckbox>
										</s:div>
									</s:decorate>

								</s:div></li>


							<li style="margin-top: 30px;">
								<fieldset>
									<legend>
										Segmento Social
									</legend>
								</fieldset>
							</li>


							<li><s:decorate template="/layout/edit.xhtml"
									id="decoSegmento">
									<ui:define name="label">
							Segmento Social
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Segmento Social' é obrigatório."
										required="true" id="segmento" styleClass="Combo"
										value="#{alunoHome.instance.segmentoSocial}">
										<s:selectItems value="#{factories.segmentosSociais}"
											var="segmento" label="#{segmento.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>

								</s:decorate></li>

							<li><s:decorate template="/layout/edit.xhtml"
									id="decoSituacaoOcupacional">
									<ui:define name="label">
							Situação Ocupacional
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Situação Ocupacional' é obrigatório."
										required="true" id="situacaoOcupacional" styleClass="Combo"
										value="#{alunoHome.instance.situacaoOcupacional}">
										<s:selectItems value="#{factories.situacoesOcupacionais}"
											var="situacao" label="#{situacao.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEnum />
									</h:selectOneMenu>

								</s:decorate></li>


							<li><s:div style="position:relative">
									<s:decorate template="/layout/edit.xhtml" id="decoDeficiencia">
										<ui:define name="label">
						                Portador de deficiência
						              </ui:define>
										<s:div>
											<h:selectManyCheckbox
												value="#{alunoHome.instance.necessidadesEspeciais}"
												styleClass="conhecimento" layout="pageDirection">
												<s:selectItems value="#{factories.necessidadesEspeciais}"
													var="necessidade" label="#{necessidade.nome}" />
												<s:convertEnum />

											</h:selectManyCheckbox>
										</s:div>
									</s:decorate>

								</s:div></li>

							<li style="margin-top: 30px;">
								<fieldset>
									<legend>
										<h:outputText value="Dependentes" />
									</legend>
								</fieldset>
							</li>
							<li><s:decorate template="/layout/edit.xhtml" id="decoDependentes">
									<ui:define name="label">
							Número de Dependentes
						</ui:define>
									<h:inputText id="dependentes" required="true"
										requiredMessage="O campo 'Número de Dependentes' é obrigatório"
										styleClass="campo_num"
										value="#{alunoHome.instance.numeroDependentes}" >
											<a4j:support event="onchange" reRender="divCurso" limitToList="true" eventsQueue="default" ajaxSingle="true" ignoreDupResponses="true" />
										</h:inputText>

								</s:decorate></li>
						
						<li><s:decorate template="/layout/edit.xhtml" id="decoRenda">
									<ui:define name="label">
							Renda Familiar
						</ui:define>
									<h:inputText id="renda" required="true" immediate="true"
										requiredMessage="O campo 'Renda Familiar' é obrigatório"
										styleClass="campo_num curr3ency"
										value="#{alunoHome.instance.rendaFamiliar}" >
											<a4j:support event="onblur" reRender="divCurso" limitToList="true" eventsQueue="default" ajaxSingle="true" ignoreDupResponses="true"  />
									</h:inputText>

								</s:decorate></li>


						<li ><s:decorate template="/layout/edit.xhtml"
									id="decoObservacoes">
									<ui:define name="label">
							Observações
						</ui:define>

									<h:inputTextarea class="campo_full" id="observacoes" value="#{alunoHome.instance.comentarios}" />

								</s:decorate></li>



							<li style="margin-top: 30px;">
								<fieldset>
									<legend>
										
									</legend>
								</fieldset>
							</li>
						<s:div id="divCurso">	
						<s:div rendered="#{alunoHome.possoParticipar()}" >
							<s:validateAll>
							<rich:panel rendered="#{not alunoHome.possoParticipar()}">
									<label style="visibility: collapse;">b</label>
									Sua renda é maior do que a mínima permitida
								</rich:panel>
						<li><s:decorate template="/layout/edit.xhtml" id="decoCurso" rendered="#{alunoHome.possoParticipar()}">
									<ui:define name="label">
							Curso
						</ui:define>
									<h:selectOneMenu 
										requiredMessage="O campo 'Curso' é obrigatório." id="curso"
										styleClass="Combo" immediate="true" value="#{alunoHome.curso}">
										<s:selectItems value="#{alunoHome.listarCursosDisponiveis()}"
											var="curso" label="#{curso.nome}"
											noSelectionLabel="Selecione" />
										<s:convertEntity />

										<a4j:support event="onchange" limitToList="true"
											reRender="combos,decoCurso" ignoreDupResponses="true"
											eventsQueue="default" ajaxSingle="true" />

									</h:selectOneMenu>
									

								</s:decorate></li>

						<s:div id="combos">
							<li>
							<s:decorate template="/layout/edit.xhtml"
									id="decoReserva" rendered="#{alunoHome.curso.tipo==alunoHome.inclusaoDigital and not alunoHome.curso.temVagas}">
									<ui:define name="label">
							Cadastro Reserva
						</ui:define>

									<h:selectBooleanCheckbox
										requiredMessage="O campo 'Reserva' é obrigatório." immediate="true"
										required="true" id="reserva" value="#{alunoHome.reserva}"
										styleClass="conhecimento" layout="pageDirection">
										<a4j:support event="onchange" limitToList="true"
											reRender="reserva,combos" ignoreDupResponses="true"
											eventsQueue="default" ajaxSingle="true" />
									</h:selectBooleanCheckbox>

								</s:decorate></li>

							<li>
								<rich:panel rendered="#{not empty alunoHome.curso.turmas and not alunoHome.curso.temVagas}">
									<label style="visibility: collapse;">b</label>
									Não existe vagas para este curso
								</rich:panel>
								<s:decorate template="/layout/edit.xhtml" rendered="#{not empty alunoHome.curso.turmas and not alunoHome.reserva and alunoHome.curso.temVagas}"
									id="decoVoluntario">	
									<ui:define name="label">
							Turma
						</ui:define>
									<h:selectOneMenu
										requiredMessage="O campo 'Turma' é obrigatório." id="turma" required="true"
										styleClass="Combo" immediate="true" value="#{alunoHome.turma}">
										<s:selectItems value="#{alunoHome.curso.turmasComVagas}" var="turma"
											label="#{turma.nome}" noSelectionLabel="Selecione" />
										<s:convertEntity />

										<a4j:support event="onchange" limitToList="true"
											reRender="turma" ignoreDupResponses="true"
											eventsQueue="default" ajaxSingle="true" />

									</h:selectOneMenu>

								</s:decorate></li>
								</s:div>
							<a4j:commandButton value="Adicionar" rendered="#{alunoHome.possoParticipar()}"
								action="#{alunoHome.adicionarTurma()}" reRender="div_turmas,decoCurso,combos"
								 limitToList="true" ignoreDupResponses="true" ajaxSingle="true"
								eventsQueue="default" />
								</s:validateAll>
							</s:div>
							</s:div>
							<s:div id="div_turmas">
								<li>
									<fieldset>
										<legend>
											<h:outputText value="Turmas" />
										</legend>
									</fieldset>
								</li>
								<rich:dataTable rendered="#{not empty listaCursoTurmas}"
									value="#{listaCursoTurmas}" var="_turma" title="Turmas"
									styleClass="grid_dados" cellpadding="0" cellspacing="0"
									border="0" id="turmaLista" rowClasses="grid_zebra,none">

									<rich:column>
										<f:facet name="header">Nome</f:facet>
										<h:outputText value="#{_turma.nome}" />
									</rich:column>


									<rich:column style="width:12%">
										<f:facet name="header">Ações</f:facet>
										<span> <a4j:commandButton value="Excluir"
												styleClass="excluir2"
												action="#{alunoHome.removerTurma(_turma)}"
												reRender="div_turmas,combos" ajaxSingle="true" limitToList="true"
												ignoreDupResponses="true" eventsQueue="default" />


										</span>
									</rich:column>

								</rich:dataTable>


								<li>
									<fieldset>
										<legend>
											<h:outputText value="Cadastro Reserva" />
										</legend>
									</fieldset>
								</li>

								<rich:dataTable
									rendered="#{not empty listaAlunoCadastroReserva}"
									value="#{listaAlunoCadastroReserva}" var="_cadastro"
									styleClass="grid_dados" cellpadding="0" cellspacing="0"
									border="0" id="reservaLista" rowClasses="grid_zebra,none">

									<rich:column>
										<f:facet name="header">Nome</f:facet>
										<h:outputText value="#{_cadastro.curso.nome}" />
									</rich:column>
									
									<rich:column>
										<f:facet name="header">Posição</f:facet>
										<h:outputText value="#{alunoHome.instance.getPosicaoReserva(_cadastro.curso)}" />
									</rich:column>
									
									<rich:column style="width:12%">
										<f:facet name="header">Ações</f:facet>
										<span> <a4j:commandButton value="Excluir" onclick="if(!confirm('Confirmar exclusão?'))return false"
												styleClass="excluir2"
												action="#{alunoHome.removerCadastroReserva(_cadastro)}"
												reRender="div_turmas" ajaxSingle="true" limitToList="true"
												ignoreDupResponses="true" eventsQueue="default" />


										</span>
									</rich:column>

								</rich:dataTable>
							</s:div>

						</ol>

						<fieldset>
							<h:messages globalOnly="false" styleClass="tool_alerta" />
						</fieldset>

						<a4j:commandLink styleClass="btn" action="#{alunoHome.salvar}" oncomplete="mascarar()"
							value="Salvar" reRender="pnlForm" />

					</s:validateAll>
				</a:form>
			</a:outputPanel>
		</div>
	</ui:define>

</ui:composition>
